<?php
/**
 * 网站配置管理
 * 包含轮播图,封面图管理
 * @author 王宇波
 * 
 */
namespace App\Http\Controllers\Admin;

use Illuminate\Http\Request;

use App\Http\Requests;
use App\Http\Controllers\Controller;
use DB;
use Storage;
use File;
class ConfigController extends Controller
{
	//显示配置信息
	public function getIndex()
	{	
		//查询配置表fcon中的所有图片
		$fcon=DB::table('fcon')
				->join('portalpost','fcon.pid','=','portalpost.id')
				->join('portaltype','fcon.explain','=','portaltype.id')
				->select('fcon.*','portalpost.title','portaltype.name')
				->paginate(10);
		// dd($fcon);
		$count=1;

		return view('Admin.config.index',['fcon'=>$fcon,'count'=>$count]);
	}
	/**
	 * 图片管理的添加
	 * @return 添加页面
	 */
	public function getAdd()
	{	
		//获取最新的20条新闻
		$posts=DB::table('portalpost')->orderBy('ctime','desc')->skip(0)->take(20)->get();
		//获取新闻板块
		$types=DB::table('portaltype')->where('pid','!=','0')->get();
		// dd($posts);
		return view('Admin.config.add',['posts'=>$posts,'types'=>$types]);
	}
	/**
	 * 将图片插入到数据库
	 * @param  Request $request [description]
	 * @return [type]           [description]
	 */
	public function postInsert(Request $request)
	{	
		$data=$request->except('_token');
		//上传数据返回上传数据的路径
		$data['img'] = $this->upload($request,'img');
  		//轮播图的长度限制在<=5
  		
  		$pid=$data['pid'];
  		$explain=$data['explain'];
  		$position=$data['position'];
  		//限定轮播图的张数
  		if($position==2){
  			$res=DB::table('fcon')->where('position','2')->count();
  			if($res>=5){
  				return back()->with('error','轮播图已满,请删除一些');
  			}
  		}

  		$ress=DB::table('fcon')->insert($data);
  		if($ress){
  			return redirect('/admin/config/index');
  		}else{
  			return back()->with('error','上传图片失败');
  		}

	}

	//声明一个上传图片的方法
	public function upload($request,$name)
	{
		  //检测是否有文件上传
        if($request->hasFile($name)){
            //随机文件名
            $n = time();
            $suffix = $request->file($name)->getClientOriginalExtension();
            $arr = array('jpg','png','jpeg');
            if(!in_array($suffix,$arr)){
                // return back();
                die('上传文件不符合要求');
            }
            // 参数1 移动的目标目录,参数2,文件名字
            $request->file($name)->move('./uploads',$n.'.'.$suffix);
            //需要在上传成功后返回一个文件的路径 方便存入数据库
            return '/uploads/'.$n.'.'.$suffix;
        }
	}


	/**
	 * 图片配置的删除
	 * @return [type] [description]
	 */
	public function getDelete($id)
	{
		//获取文件名称
		$file=DB::table('fcon')->where('id',$id)->value('img');
		//$str=trim(strrchr($file,'/'),'/');
		//dd($str);
		$file='.'.$file;
		// dd($file);
		// 移除图片
		//Storage::delete($file);
		unlink($file);	
		//从数据库中删除文件
		$res=DB::table('fcon')->where('id',$id)->delete();

		return redirect('/admin/config/index');
	}


}
